﻿import type { ISysGroup, ISysOrg, ISysJobPosition } from '@/type/fileattachment'




export interface ISysHrRecruitPublishRequestBill {
  ID?: string | null;
  Title: string | null;
  Description: string | null;
  HireNumber: number;
  ExpectedDate: Date | null;
  JobRequirement: string | null;
  EducationRequirement?: '初中' | '高中' | '中专' | '大专' | '本科' | '研究生' | '硕士' | '博士' | '博士后' | '博士研究生' | '其他' | null;
  MajorRequirement: string | null;
  GenderRequirement?: '男' | '女' | '其他' | null;
  AgeRequirement: string | null;
  OtherRequirement: string | null;
  SalaryRange: string | null;
  Benefits: string | null;
  JobPositionId: null;
  JobPosition?: ISysJobPosition;
  PublishStartDate: Date | null;
  PublishEndDate: Date | null;
  IsExternalPublish: boolean;
  ContactPerson: string | null;
  ContactPhone: string | null;
  ContactEmail: string | null;
  Approver: string | null;
  ApprovalTime: Date | null;
  GroupId: null;
  Group?: ISysGroup;
  OrgId: null;
  Org?: ISysOrg;
  BillCode: string | null;
  BillStatus?: '草稿' | '正文' | null;
  WorkflowStatus?: '待提交' | '提交中' | '审核中' | '已完成' | '已取消' | '待处理' | '处理中' | '已处理' | null;
  Remark: string | null;
}

export interface ISysHrRecruitPublishRequestBillVm {
  Entity: ISysHrRecruitPublishRequestBill;
  ActionName?: string | null;
  IsMyApprove?: boolean | null;
  Remark?: string | null;
}

export interface ISysHrRecruitPublishRequestBillView extends ISysHrRecruitPublishRequestBill {

}

export interface ISysHrRecruitPublishRequestBillQuery {
  Title?: string | null;
  Description?: string | null;
  HireNumber?: number | null;
  ExpectedDate?: Date | Date[] | null;
  JobRequirement?: string | null;
  EducationRequirement?: number | null;
  MajorRequirement?: string | null;
  GenderRequirement?: number | null;
  AgeRequirement?: string | null;
  OtherRequirement?: string | null;
  SalaryRange?: string | null;
  Benefits?: string | null;
  JobPositionId?: string | null;
  PublishStartDate?: Date | null;
  PublishEndDate?: Date | null;
  IsExternalPublish?: boolean | null;
  ContactPerson?: string | null;
  ContactPhone?: string | null;
  ContactEmail?: string | null;
  RecruitPoolId?: string | null;
  Approver?: string | null;
  ApprovalTime?: Date | null;
  GroupId?: string | null;
  OrgId?: string | null;
  BillCode?: string | null;
  BillStatus?: number | null;
  WorkflowStatus?: number | null;
  Remark?: string | null;
  Limit?: number;
  Page?: number;
}